/**
 * [判断传入的字符串是不是手机号
 * 如果符合手机号格式,返回true
 * 如果不符合手机号格式,返回false]
 * @param   {[type]}  phoneNum [description]
 * @return  {[type]}           [description]
 * @author 李树冬
 * @version [version]
 */
function isPhoneNum(phoneNum){
    var myreg = /^(((13[0-9]{1})|14[0-9]{1}|15[0-9]{1}|17[0-9]{1}|18[0-9]{1})+\d{8})$/;
    return myreg.test(phoneNum);
}

/**
 * [判断传入的字符串是不是邮箱地址
 * 如果符合邮箱地址格式,返回true
 * 如果不符合邮箱地址格式,返回false]
 * @param   {[type]}  emailAddress [description]
 * @return  {[type]}               [description]
 * @author 李树冬
 * @version [version]
 */
 function isEmailAddress(emailAddress){
     var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
     return reg.test(emailAddress);
 }

/**
 * [验证密码格式
 * 如果符合密码格式,返回true
 * 如果不符合密码格式,返回false]
 * @param   {[type]}  pwd [description]
 * @return  {[type]}      [description]
 * @author 李树冬
 * @version [version]
 */
function isPassword(pwd){
    var strExp = /^(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{2,})$/;
    if (!strExp.test(pwd) || pwd.length < 6) {
        return false;
    }
    else {
        return true;
    }
}

 /**
  * [验证中文
  * 如果符合,返回true
  * 如果不符合,返回false]
  * @param   {[type]}  str [description]
  * @return  {Boolean}     [description]
  * @author 李树冬
  * @version [version]
  */
function isChinese(str){
    var reg=/^[\u0391-\uFFE5]+$/;
    return reg.test(str);
   }

 /**
  * [验证姓名
  * 如果符合,返回true
  * 如果不符合,返回false]
  * @param   {[type]}  str [description]
  * @return  {Boolean}     [description]
  * @author 李树冬
  * @version [version]
  */
 function isName(str){
    var reg=/^[\u0391-\uFFE5]{1,10}$/;
    var regE=/^([A-Za-z]+\s?)*[A-Za-z]+$/;
    if(reg.test(str) || regE.test(str)){
      return true;
    }
    return false;
   }

  /**
   * [判断传入的是不是数字
   * 如果符合,返回true
   * 如果不符合,返回false]
   * @param   {[type]}  str [description]
   * @return  {Boolean}     [description]
   * @author 李树冬
   * @version [version]
   */
 function isNumber(str){
      if (str == null || str == "")
          return false;
      for (var i = 0; i < str.length; i++) {
          var cI = str.charAt(i);
          if (cI < '0' || cI > '9')
              return false;
      }
      return true;
  }

  /**
   * [身份证号验证]
   * @param   {[type]}  cardid [description]
   * @return  {Boolean}        [description]
   * @author 李树冬
   * @version [version]
   */
  function isIdCard(cardid) {
       //身份证正则表达式(18位)
       var isIdCard2 = /^[1-9][0-9]{5}(19[0-9]{2}|200[0-9]|2010)(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9xX]$/i;///^[1-9]\d{5}(19\d{2}|[2-9]\d{3})((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])(\d{4}|\d{3}X)$/i;

       var stard = "10X98765432"; //最后一位身份证的号码
      var first = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; //1-17系数
      var sum = 0;
       if (!isIdCard2.test(cardid)) {
           return false;
       }
       var year = cardid.substr(6, 4);
       var month = cardid.substr(10, 2);
       var day = cardid.substr(12, 2);
       var birthday = cardid.substr(6, 8);
       if (birthday != dateToString(new Date(year + '/' + month + '/' + day))) { //校验日期是否合法
          return false;
       }
       for (var i = 0; i < cardid.length - 1; i++) {
           sum += cardid[i] * first[i];
       }
       var result = sum % 11;
       var last = stard[result]; //计算出来的最后一位身份证号码
      if (cardid[cardid.length - 1].toUpperCase() == last) {
           return true;
       } else {
           return false;
       }
   }
   //日期转字符串 返回日期格式20080808
   function dateToString(date) {
       if (date instanceof Date) {
           var year = String(date.getFullYear());
           var month = date.getMonth() + 1;
           month = month < 10 ? '0' + month: month;
           var day = date.getDate();
           day = day < 10 ? '0' + day: day;
           return year + month + day;
       }
       return '';
   }
export default {
  isPhoneNum,
  isEmailAddress,
  isPassword,
  isChinese,
  isNumber,
  isIdCard,
  isName,
}
